#include <iostream> 
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>

using namespace std; 

int main (){

	srand(time(0)); 

	int n, beg,end;
	vector <int> random;

	do{
	cout << "¿Cuántos números desea generar?"<<endl; 
	cin >> n;
	cout << "¿Valor de inicio?"<<endl; 
	cin >> beg;

	do{
	cout << "¿Valor final?"<<endl; 
	cin >> end;
	if (end<beg)
		cout<<"Valor final menor que valor inicial: "<<endl; 
	}while(end <beg); 
	
	if ((end-beg)<n)
		cout <<"Introduce otros números, con esos parámetros existirían números repetidos"<<endl; 

	}while ((end-beg)<n);



	for (int i=0; i<n; i++){
	   random.push_back(rand() % (end-beg) + beg);
	}

	for (int i=0; i<random.size(); i++){
	   for (int j=0; j<random.size(); j++){
		if((random[i]==random[j]) && (i!=j)){
			do{
			random[j]=rand() % (end-beg) + beg;
			}while (random[j]==random[i]);
		}
	    }
	}
		
	
	sort(random.begin(), random.end());
	/*	for (int i=0; i<random.size(); i++){
			if (random[i]==random[i+1]){
				while (random[i]==random[i+1]){
					random[i]=rand() % (end-beg) + beg;
					sort(random.begin(), random.end());
					}
				}
		}*/
	
	cout <<"Números: "<<endl; 
	for (int i=0; i<random.size(); i++)
		cout <<random[i]<<"  ";
	

return 0;
}
